package Testing;

import junit.framework.TestCase;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import Dominio.Dom_Fachada;
import Dominio.DominioException;
import Dominio.PerfilData;
import Dominio.Rol;
import Dominio.UserData;

public class CdU3 extends TestCase {

	private PerfilData perfil_cliente;

	@Before
	public void setUp() throws Exception {
		perfil_cliente = new PerfilData(new UserData(12290909, "TEstClient",
				"ClientTest", "TEstTing", "Teting", 10f, "password",
				Rol.CLIENTE), "TestDirection", "somebody@somewhere.com",
				3423432, "1956-02-02");
		try {
			new Dom_Fachada().createCliente(perfil_cliente);
		} catch (DominioException e) {
		}
	}

	@After
	public void tearDown() throws Exception {
		try {
			new Dom_Fachada().deleteUser(perfil_cliente);
		} catch (DominioException e) {
		}
	}

	@Test
	public void test() {
		try {
			new Dom_Fachada().addSaldo(perfil_cliente, 10f);
		} catch (DominioException d) {
			fail("Problema agregando saldo.");
		}
		assertTrue(perfil_cliente.get_usuario().get_saldo() == 20f);
		// Test2: Retirar Saldo
		try {
			new Dom_Fachada().exchangeSaldo(perfil_cliente, 10f);
			assertTrue(perfil_cliente.get_usuario().get_saldo() == 10f);
		} catch (DominioException e) {
			fail("Problemas agregando saldo.");
		}

	}
}
